package oracle;

import java.sql.*;

/**
 * 实现：利用Java 链接Oracle 数据库 CRUD[查]
 * 1.加载驱动 oracle.jdbc.OracleDriver  Oracle 10g
 *           com.mysql.jdbc.Driver   Mysql5.5
 * 2.获取链接
 * ①获取Oracle基本信息：地址、用户名、密码
 * ②获取信息交给工具类DriverManger处理，连接成功返回 Connection
 * ③打桩测试，是否连接成功
 * ---------------------------JDBC连接成功打桩
 * ---------------------------JDBC规范----CRUD"增删改" "查"
 * ④执行SQL----创建表---Oracle中创建  login表 序号 姓名 手机号
 *   Java提到对象Statement对象，作用：执行sql语句的类，提供执行sql方法
 * ⑤处理结果
 *
 */
public class OracleJDBC {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //1.加载驱动--Oracle版本 10g
        Class.forName("oracle.jdbc.OracleDriver");
        //2.获取链接【准备功能：地址、用户名、密码】
        //①链接Oracle基本信息
        String username="system";   //Oracle数据库 用户名
        String password="Wyq041215";//密码：自己的连接本地
        //thin 瘦客户端
        String url="jdbc:oracle:thin:@127.0.0.1:1521:XE";
        //②Oracle基本信息交给工具类
        Connection con=DriverManager.getConnection(url,username,password);
        //③打桩
        System.out.println("测试数据库链接成功"+con);
        //④执行SQL---Statement对象
        //连接成功Oracle之后【Connection】，产生Statement对象
        Statement st=con.createStatement();
        //执行SQL查询操作---查询语句
        String sql="select * from login";
        //Statement对象 查询和增删改--查询方法：executeQuery返回对象
        //ResultSet对象--保存所有查询记录数据【字段和记录】
        ResultSet rs =st.executeQuery(sql);

        //⑤处理结果【取所有记录数 1.判断有没有字段 2.取字段中记录数】
        while (rs.next()){//next()判断是否有字段  有字段返回true 无字段返回false
        //取出字段中所有记录数
        int id=rs.getInt("id");
        String name=rs.getString("name");
        String phone=rs.getString("phone");
        System.out.println("login表所有数据"+id+name+phone);

        }
        String sql1="insert into login values(4,'吴三','15964853267')";
        int rows=st.executeUpdate(sql1);
        System.out.println("增加"+rows+"记录");
       //⑥关闭资源
        rs.close();
        st.close();
        con.close();

    }
}
